package tricks

import "sort"

func nextPermutation(nums []int) {
	n := len(nums)
	for i := n - 1; i > 0; i-- {
		if nums[i] > nums[i-1] {
			sort.Ints(nums[i:n])
			for j := i; j < n; j++ {
				if nums[j] > nums[i - 1] {
					nums[i - 1], nums[j] = nums[j], nums[i - 1]
					return 
				}
			}
		}
	}
	sort.Ints(nums)
	return
}